//#define _CRT_SECURE_NO_WARNINGS 1
//#include <iostream>
//using namespace std;
//
//class Data
//{
//public:
//	//无参构造函数
//	//Data()
//	//{
//	//	_year = 0;
//	//	_month = 0;
//	//	_day = 0;
//	//}
//	//全缺省构造函数
//	Data(int year = 10, int month = 10, int day = 10):_year(year),_month(month),_day(day){}
//
//	//Data(int year, int month, int day = 10):_year(year), _month(month), _day(day) {}
//	//Data(int year,int month = 1):_year(year),_month(month){}
//
//
//	//析构函数
//	~Data()
//	{
//		free(_a);
//		_a = nullptr;
//		_year = 0;
//		_month = 0;
//		_day = 0;
//	}
//
//	//拷贝构造函数
//	Data(const Data& d)
//	{
//		_a = (int*)malloc(sizeof(int));
//		if (_a == nullptr)
//		{
//			perror("malloc fail()");
//			return;
//		}
//		_year = d._year;
//		_month = d._month;
//		_day = d._day;
//	}
//
//
//	Data& operator=(const Data& d)
//	{
//		_a = (int*)malloc(sizeof(int));
//		if (_a == nullptr)
//		{
//			perror("malloc fail()");
//			exit(-1);
//		}
//		_year = d._year;
//		_month = d._month;
//		_day = d._day;
//
//		return *this;
//	}
//
//	void Show_Data()
//	{
//		cout << _year << "/" << _month << "/" << _day << endl;
//	}
//private:
//	int _year;
//	int _month;
//	int _day;
//	int* _a = (int*)malloc(sizeof(int));
//};
//
//int main()
//{
//	Data d1(2024,8,28);
//	d1.Show_Data();
//
//	Data d2(d1);//调用拷贝构造函数
//	d2.Show_Data();
//
//	Data d3;
//	d3.Show_Data();
//
//	d3 = d2;
//	d3.Show_Data();
//
//	//Data d2();
//	//d2.Show_Data();
//
//	return 0;
//}

#include "Data.h"

void TestAdd()
{
	Data d(2024, 8, 28);
	/*cout << d.GetMonthDay(2024, 2) << endl;*/
	d.Show();

	Data d1 = d;
	d1.Show();

	d1 = d + 10000;
	d1.Show();

	cout << endl;

	Data d2 = d;
	d2 += 10000;
	d2.Show();
}

void TestSub()
{
	Data d(2024, 8, 28);
	d.Show();

	/*d -= 10000;
	d.Show();*/

	Data d1 = d - 10000;
	d1.Show();
}

void TestJudge1()
{
	Data d1(2024, 8, 28);
	d1.Show();

	Data d2(2024, 1, 1);
	d2.Show();

	d2 = d1;

	if (d1 == d2)
	{
		cout << "same time" << endl;
	}
	else
	{
		cout << "not same time" << endl;
	}
}

void TestJudge2()
{
	Data d1(2024, 8, 28);
	Data d2(2023, 8, 28);
	Data d3(2025, 8, 28);
	Data d4 = d1;

	d1.Show();
	d2.Show();
	d3.Show();

	if (d1 >= d4)
	{
		cout << "d1>=d4" << endl;
	}

	//if (d1 > d2)//打印
	//{
	//	cout << "d1>d2" << endl;
	//}
	//if (d1 > d3)//不打印
	//{
	//	cout << "d1>d3" << endl;
	//}
	//if (d1 > d4)//不打印
	//{
	//	cout << "d1>d4" << endl;
	//}
}


void TestJudge3()
{
	Data d1(2024, 8, 28);
	Data d2(2023, 8, 28);
	Data d3(2025, 8, 28);
	Data d4 = d1;

	if (d1 < d2)//不打印
	{
		cout << "d1<d2" << endl;
	}
	if (d1 < d3)//打印
	{
		cout << "d1<d3" << endl;
	}
	if (d1 <= d4)//打印
	{
		cout << "d1<=d4" << endl;
	}
}

void Test1()
{
	Data d(2024, 8, 29);
	/*d++;
	d.Show();*/
	//int i = 10;
	//while (i--)
	//{
	//	d++;
	//	d.Show();
	//}

	d--;
	d.Show();
}

void Test2()
{
	Data d(2024, 11, 31);
	/*Data d1(2023, 8, 29);
	Data d2(2028, 12, 21);

	cout << d - d1 << endl;
	cout << d - d2 << endl;*/

	//Data ret = d++;
	//d.Show();
	//ret.Show();

	//cout << endl;
	//Data ret1 = ++d;
	//d.Show();
	//ret1.Show();

	cin >> d;
	cout << d;
}

int main()
{
	//TestAdd();

	//TestSub();

	//TestJudge1();

	//TestJudge2();

	//TestJudge3();

	//Test1();

	Test2();

	/*static int a;
	cout << a << endl;
	a = 11;
	cout << a << endl;*/
	return 0;
}